package cn.group7.padserver.service;

import cn.group7.padserver.entity.Page;
import cn.group7.padserver.pojo.Expert;

import java.util.List;

/**
 * @author 谷汉斌
 * @description 专家业务接口
 * @createTime 2024/8/3 下午5:04
 */
public interface ExpertService {

    /**
     * 分页查询所有专家
     *
     * @param pageNum  页码
     * @param pageSize 每页显示数量
     * @return 返回分页对象
     */
    Page<Expert> findPage(Integer pageNum, Integer pageSize);

    /**
     * 根据关键字分页查询专家
     *
     * @param keys     关键字
     * @param pageNum  页码
     * @param pageSize 每页显示数量
     * @return 返回分页对象
     */
    Page<Expert> findPageByKeys(String keys, Integer pageNum, Integer pageSize);

    /**
     * 根据id查询专家
     *
     * @param name 专家id
     * @return 返回专家对象
     */
    Expert selectById(String name);

    /**
     * 查询所有专家
     *
     * @return 返回专家列表
     */
    List<Expert> selectAllExpert();

    /**
     * 根据id删除专家
     *
     * @param userName 专家id
     * @return 返回删除结果
     */
    boolean delete(String userName);

    /**
     * 根据id更新专家信息
     *
     * @param expert 专家对象
     * @return 返回更新结果
     */
    boolean updateById(Expert expert);

    /**
     * 添加专家
     *
     * @param expert 专家对象
     * @return 返回添加结果
     */
    boolean insert(Expert expert);
}
